package com.dkm.orproject.dkmoa.service;

import com.dkm.orproject.dkmoa.domain.OaAsset;

import java.util.List;

/**
 *  @ClassName : OaAssetService  //类名
 *  @Description : 资产service  //描述
 *  @Author : 石智诚  //作者
 *  @Date: 2020-11-24 14:46  //时间
 */
public interface OaAssetService {
    /**
     * 根据资产id 删除
     * @param pkAssetId 资产Id
     * @return 回调函数
     */
    int deleteByPrimaryKey(Long pkAssetId);

    /**
     * 增加资产
     * @param record 资产模型
     * @return 回调函数
     */
    int insert(OaAsset record);

    /**
     * 根据资产id 查询 资产
     * @param pkAssetId 资产Id
     * @return 资产
     */
    OaAsset selectByPrimaryKey(Long pkAssetId);

    /**
     * 更新资产
     * @param record 资产模型
     * @return 回调函数
     */
    int updateById(OaAsset record);

    /**
     * 判断资产条码是否已经存在
     * @param asset 资产
     * @return 回调函数
     */
    int codeCount(OaAsset asset);

    /**
     * 查询所有的资产
     * @param asset 资产模型
     * @param limit 显示数量
     * @param page 页面
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @return
     */
    List<OaAsset> findAll( OaAsset asset,Integer page,Integer limit, String startDate,String endDate);
    /**
     * 查询所有的资产的数量
     * @param asset 资产模型
     * @param startDate 开始时间
     * @param endDate  结束时间
     * @return long
     */
    Long rowCount( OaAsset asset, String startDate, String endDate);

    /**
     * 批量删除
     * @param id 资产Id
     * @return 回调函数
     */
    int delteAll(List<Long> id);
    /**
     * 逻辑删除
     * @param pkAssetId 资产Id
     * @return 回调函数
     */
    int  deleteById(Long pkAssetId);
    /**
     * 下拉框
     * @return 集合
     */
    List<OaAsset> selectAll(Long pkAssetId);
}
